using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("LOE07_MineCart")]
	public class LOE07_MineCart : LOE_MissionEntity
	{
		public Notification m_turnCounter => method_3<Notification>("m_turnCounter");

		public MineCartRushArt m_mineCartArt => method_3<MineCartRushArt>("m_mineCartArt");

		public LOE07_MineCart(IntPtr address, string className)
			: base(address, className)
		{
		}

		public LOE07_MineCart(IntPtr address)
			: this(address, "LOE07_MineCart")
		{
		}

		public new void StartGameplaySoundtracks()
		{
			method_8("StartGameplaySoundtracks");
		}

		public new void PreloadAssets()
		{
			method_8("PreloadAssets");
		}

		public new bool ShouldDoAlternateMulliganIntro()
		{
			return method_11<bool>("ShouldDoAlternateMulliganIntro", Array.Empty<object>());
		}

		public new bool ShouldHandleCoin()
		{
			return method_11<bool>("ShouldHandleCoin", Array.Empty<object>());
		}

		public new void NotifyOfMulliganInitialized()
		{
			method_8("NotifyOfMulliganInitialized");
		}

		public new void NotifyOfMulliganEnded()
		{
			method_8("NotifyOfMulliganEnded");
		}

		public new void OnTagChanged(TagDelta change)
		{
			method_8("OnTagChanged", change);
		}

		public new void PlayEmoteResponse(EmoteType emoteType, CardSoundSpell emoteSpell)
		{
			method_8("PlayEmoteResponse", emoteType, emoteSpell);
		}

		public void InitVisuals()
		{
			method_8("InitVisuals");
		}

		public void InitMineCartArt()
		{
			method_8("InitMineCartArt");
		}

		public void InitTurnCounter(int cost)
		{
			method_8("InitTurnCounter", cost);
		}

		public void UpdateVisuals(int cost)
		{
			method_8("UpdateVisuals", cost);
		}

		public void UpdateMineCartArt()
		{
			method_8("UpdateMineCartArt");
		}

		public void UpdateTurnCounter(int cost)
		{
			method_8("UpdateTurnCounter", cost);
		}

		public void UpdateTurnCounterText(int cost)
		{
			method_8("UpdateTurnCounterText", cost);
		}
	}
}
